package cn.zhouchao.basic.util;

import lombok.Data;

/**
 * AjaxResult(主要用于 => 增 删 改)
 * 作用：请求返回前端时，提示前端：返回结果是（成功/失败）——查询就可以不需要，查询全部返回集合，查询单个返回单个对象
 */
@Data
public class AjaxResult {
    /*操作结果*/
    public Boolean success;
    /*操作提示*/
    public String msg;
    /*返回任意类型*/
    public Object resultObj;

    //封装的new AjaxResult()对象
    public static AjaxResult me(){
        return new AjaxResult();
    }

    //操作成功
    public AjaxResult success(){
        return me().setSuccess(true).setMsg("操作成功");
    }

    //操作成功,并返回自定义
    public AjaxResult success(Object resultObj){
        return me().setSuccess(true).setMsg("操作成功").setResultObj(resultObj);
    }

    //操作失败
    public AjaxResult fail(){
        return me().setSuccess(false).setMsg("操作失败");
    }

    //返回提示内容自定义
    public AjaxResult fail(String msg){
        return me().setSuccess(false).setMsg(msg);
    }

    //初始化（是否成功）
    public AjaxResult setSuccess(Boolean success) {
        this.success = success;
        return this;
    }
    //初始化（提示内容）
    public AjaxResult setMsg(String msg) {
        this.msg = msg;
        return this;
    }

    public AjaxResult setResultObj(Object resultObj) {
        this.resultObj = resultObj;
        return this;
    }
}
